/**
*  \file sd24xx256.h
*
*  \brief
*
*  \author Michael J. Hohmann  michael.hohmann@linde-mh.de
*
*
*
*
*
*/
#ifndef SD24XX256_H_INCLUDED
#define SD24XX256_H_INCLUDED

/*================================================[ public includes  ]================================================*/
#include "../cfg/prj.h"
#include "../sd/sd.h"
#include "../i2cgi/i2cgi_sim.h"
/*================================================[ public defines   ]================================================*/

/*================================================[ public datatypes ]================================================*/

typedef void (*sd24xx_256_wp_func_t)( BO protect );
typedef U32 (*sd24xx_256_wp_time_t)( void );


/** Object definition.
* 
* The struct sd24xx256_obj defines the attribute of an object.
*/
struct sd24xx256_obj
{	
	struct sd sd;
	i2cgi_transmit_func_t i2c_transmit;
	sd24xx_256_wp_func_t  write_protection;
	sd24xx_256_wp_time_t  time_get;
	U32 timeout;
	U32 start_time;
	U32 time_count;
};

/*================================================[ public variables ]================================================*/

/*================================================[ inline functions ]================================================*/

/*================================================[ public functions ]================================================*/

/**
*  Constructor.
*
*  Construct an object. 
*
*  \param me Object pointer. NULL will throw an assert.
*
*  \return RC_SUCCESS if successful.
*/
RC sd24xx256_construct_sim( struct sd24xx256_obj *me, i2cgi_transmit_func_t i2c_func, sd24xx_256_wp_func_t wp_func , sd24xx_256_wp_time_t time_func, U32 timeout );

/*====================================================================================================================*/

#endif

/***********************************************************************************************************************
*                             Copyright 2020 Linde Material Handling. All rights reserved.                             *
***********************************************************************************************************************/
